﻿<?php
	//remplissage de la base de données à partir de fichiers excel
	session_start();
	
	$message = '';      // Message à afficher à l'utilisateur
	$code='';
	
	require_once('../includes/config.php');
	require_once('../includes/fonctions.php');
	require_once('../classes/database.php');
	$idconnect=Database::getInstance();

	//vérification des droits de l'utilisateur

		//récupération du nom et du prénom de l'utilisateur afin de les mettre en paramètre à l'exécution du script
		$query=pg_query($idconnect,"SELECT nom,prenom FROM utilisateur WHERE id_user=".$_SESSION['membre_id']);
		$temp=pg_fetch_assoc($query);
		$exp=$temp['prenom']." ".$temp['nom'];		
		$exp=str_replace(' ','_',$exp);
	 /*****************************************
	* Vérification du formulaire
	*****************************************/
	// Si le tableau $_POST existe alors le formulaire a été envoyé
		if(!empty($_POST)){
			if($_POST['type']!="none"){
				if(isset($_FILES['fichier'])){
					$fichier = basename($_FILES['fichier']['name']);
					$dossier="../fichiers_excel/";
					//sauvegarde temporaire du fichier, pour pouvoir l'exécuter ensuite
					if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $fichier)){ //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
						$file="../fichiers_excel/$fichier";

						//exécution des scripts, en fonction du test
						if($_POST['type']=="Test comportemental"){
							
							if($_POST['description']=="Emotivité"){						
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_emotivite.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_emotivite.pl $file $exp");
							}
							else if($_POST['description']=="3PRT"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_3PRT.pl $file");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_3PRT.pl $file");
							}
							else if($_POST['description']=="6tst"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_6tst.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_6tst.pl $file $exp");
							}
							else if($_POST['description']=="Alternance spontanée"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_alternance.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_alternance.pl $file $exp");
							}
							else if($_POST['description']=="Barnes bc12"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_bc12.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_bc12.pl $file $exp");
							}
							else if($_POST['description']=="Barnes bop"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_bop.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_bop.pl $file $exp");
							}
							else if($_POST['description']=="Discrimination/inversion"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_ds_inv.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_ds_inv.pl $file $exp");
							}
							else if($_POST['description']=="Hill task"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_hill.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_hill.pl $file $exp");
							}
							else if($_POST['description']=="Houglass"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_hourglass.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_hourglass.pl $file $exp");
							}
							else if($_POST['description']=="Sleeping box"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_sleeping.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_sleeping.pl $file $exp");
							}
							else if($_POST['description']=="Tower"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_tower.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_tower.pl $file $exp");
							}
							else if($_POST['description']=="Valley task"){
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_valley.pl $file $exp");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_valley.pl $file $exp");
							}
						}
						else if($_POST['type']=="Génotypage"){
							//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_genotypage.pl $file");
							echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_genotypage.pl $file");
						}
						else if($_POST['type']=="IRM"){
							//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_irm.pl $file $exp");
							echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_irm.pl $file $exp");
						}
						else if($_POST['type']=="Séquencage"){
							//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_sequencage.pl $file");
							echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_sequencage.pl $file");
						}
						else if($_POST['type']=="Test immunologique"){
							$stringCommand=PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_immuno.pl {$file}";
							$output= array();
							echo "<br/>".$stringCommand;
							//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_immuno.pl $file");
							echo exec($stringCommand, $output);
							var_dump($output);
						}
						else if($_POST['type']!="autre" && $_POST['type']!="Test biologique"){
							$label=$_POST['type'];
							$label=str_replace(' ','_',$label);
							//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_test.pl $file $exp $label");
							echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_test.pl $file $exp $label");
						}
						else if($_POST['type']=="Test biologique"){
							$label=$_POST['type'];
							$label=str_replace(' ','_',$label);
							if(isset($_POST['description'])){
								$unite=$_POST['description'];
								$unite=str_replace(' ','_',$unite);
								//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_nouveau_test.pl $file $exp $label $unite");
								echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_nouveau_test.pl $file $exp $label $unite");
							}
						}
						else if($_POST['type']=="autre"){
							if(isset($_POST['new_label']) && isset($_POST['new_unite'])){
								$label=$_POST['new_label'];
								$label=str_replace(' ','_',$label);
								$unite=$_POST['new_unite'];
								$unite=str_replace(' ','_',$unite);
								if(isset($_POST['desc'])){
									$desc=$_POST['desc'];
									$desc=str_replace(' ','_',$desc);
									//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_nouveau_test.pl $file $exp $label $unite $desc");
									echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_nouveau_test.pl $file $exp $label $unite $desc");
								}
								else{
									//echo exec("C:\perl\bin\perl.exe C:\wamp\www\base_mmdn\scripts\parse_nouveau_test.pl $file $exp $label $unite");
									echo exec(PERL_EXEC_FILE_PATH." ".PERL_SCRIPTS_PATH."parse_nouveau_test.pl $file $exp $label $unite");
								}
							}
						}
						//une fois le script exécuter, on supprime le fichier excel sauvegardé temporairement, pour éviter que deux fichiers aient le même nom
						clear_dir("../fichiers_excel/");
						$_SESSION['message']="Données enregistrées avec succès. ";
					}
				}
			}
		}
	
	
	function clear_dir($dir) {
		$dossier = $dir;
		$dir = opendir($dossier);
		while($file = readdir($dir)) {
			if(!in_array($file, array(".", ".."))){
				if(is_dir("$dossier/$file")) {clear_dir("$dossier/$file", true);} 
				else {unlink("$dossier/$file");}			 
			}
		}
		closedir($dir);
	}


//	echo "toto";
	die();
	header ('Location: ./saisie.php');
	exit();
?>
